#pragma once
#include "shape.h"
#include <vector>
using namespace std;

class MHouse : public Shape
{
private:
	MVertex *points, *normal;
	MVertex normf, norml, normb, normr;
public:
	MHouse(void);
	~MHouse(void);	
	void drawShape(void(*func)(const MVertex &p1,  const MVertex &p2, const MVertex &p3, int ic),void(*drawline)(const MVertex &p1,  const MVertex &p2,int ic)=NULL);
	void drawHouse(void(*func)(const MVertex &p1,  const MVertex &p2, const MVertex &p3, int ic),
								void(*drawline)(const MVertex &p1,  const MVertex &p2,int ic)=NULL);
	void translate(float x, float y, float z);
	void rotate(float deg, int x, int y, int z);
	void rotateAroundOwnAxis(float theta);
	void scale(float x, float y, float z);
	void incrementSlice();
	void decrementSlice();
	void incrementStack();
	void decrementStack();
	void intersect(const MVertex &from, const MVertex &to);
};

